package com.gjxx.common.tcp;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 位置信息查询
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class LocationInfoQueryMsg extends PackageData{
	// 位置信息查询流水号
	// byte[0-1]
	private int msgFlowId;
	// 告警信息
	// byte[2-5]
	private String warningFlagField;
	// byte[6-9] 状态(DWORD(32))
	private String statusField;
	// byte[10-13] 纬度(DWORD(32))
	private String latitude;
	// byte[14-17] 经度(DWORD(32))
	private String longitude;
	// byte[18-19] 高程(WORD(16)) 海拔高度，单位为米（ m）
	// TODO ==>int?海拔
	private int elevation;
	// byte[20-21] 速度(WORD) 1/10km/h
	// TODO ==>String?速度
	private String speed;
	// byte[22-23] 方向(WORD) 0-359，正北为 0，顺时针
	private int direction;
	// byte[24-x] 时间(BCD[6]) YY-MM-DD-hh-mm-ss
	// GMT+8 时间，本标准中之后涉及的时间均采用此时区
	private String TrajectoryTime;
	// byte[30-31] 附加信息ID
	private String addInfoId;
	// byte[31-x] 附加信息
	private String addInfo;
	/**
	 * 车牌号码
	 */
	private String carLicense;
	/**
	 * 车辆型号
	 */
	private String carModel;
	/**
	 * 企业名称
	 */
	private String companyName;
	/**
	 * 在线状态
	 */
	private String onlineStatus;
	/**
	 * 位置
	 */
	private String location;
	/**
	 * 发动机状态
	 */
	private String accStatus;

	public LocationInfoQueryMsg() {}

	public LocationInfoQueryMsg(PackageData packageData) {
		this();
		this.channel = packageData.getChannel();
		this.checkSum = packageData.getCheckSum();
		this.calculatedCheckSum = packageData.getCalculatedCheckSum();
		this.msgBodyBytes = packageData.getMsgBodyBytes();
		this.msgHeader = packageData.getMsgHeader();
	}
}
